package com.pig4cloud.pigx.system.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * SystemLogEnum
 *
 * @since 2022/8/15 16:19
 */
public enum SystemLogEnum {
    ;

    /**
     * 操作人类型（0系统、1用户、2管理人员）
     */
    @Getter
    @AllArgsConstructor
    public enum OperatorType {
        /**
         * 0 系统
         */
        SYSTEM("系统", "0"),
        /**
         * 1 用户
         */
        CLIENT("用户", "1"),
        /**
         * 2 管理人员
         */
        MANAGER("管理人员", "2");


        private final String name;
        private final String value;

        /**
         * 根据name查找对应value
         *
         * @param name 枚举名称
         * @return java.lang.String
         * @author gong_da_kai
         * @since 2021/11/14
         */
        public static String findValue(String name) {
            for (OperatorType item : values()) {
                if (item.getName().equals(name)) {
                    return item.getValue();
                }
            }

            return null;
        }

        /**
         * 根据value查找对应的name
         *
         * @param value 枚举值
         * @return java.lang.String
         * @author gong_da_kai
         * @since 2021/11/14
         */
        public static String findName(String value) {
            for (OperatorType item : values()) {
                if (item.getValue().equals(value)) {
                    return item.getName();
                }
            }

            return null;
        }
    }

    /**
     * 类型
     */
    public interface Type {
        /**
         * 策略开启
         */
        String STRATEGY_OPEN = "策略开启";
        /**
         * 策略创建新任务
         */
        String STRATEGY_AUTO_CREATE = "策略创建新任务";
        /**
         * 策略关闭
         */
        String STRATEGY_CLOSE = "策略关闭";
        /**
         * 策略暂停
         */
        String STRATEGY_PAUSE = "策略暂停";
        /**
         * 策略恢复
         */
        String STRATEGY_RESTORE = "策略恢复";
        /**
         * 策略异常
         */
        String STRATEGY_ERROR = "策略异常";
        /**
         * 策略异常解决
         */
        String STRATEGY_ERROR_RESOLVE = "策略异常解决";
        /**
         * 策略平仓
         */
        String STRATEGY_POSITION_CLOSE = "策略平仓";
        /**
         * 策略平单个仓位
         */
        String STRATEGY_POSITION_CLOSE_SINGLE = "策略平单个仓位";
        /**
         * 策略手动开仓
         */
        String STRATEGY_POSITION_OPEN_MANUAL = "策略手动开仓";
        /**
         * 策略止盈止损创建
         */
        String STRATEGY_STOP_ORDER_CREATE = "策略止盈止损创建";
        /**
         * 策略止盈止损撤销
         */
        String STRATEGY_STOP_ORDER_CANCEL = "策略止盈止损撤销";
    }

}
